package com.example.a_java.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.a_java.entity.SysRole;
import com.example.a_java.dto.RoleDTO;
import java.util.List;

public interface SysRoleService extends IService<SysRole> {
    
    /**
     * 创建角色
     */
    boolean createRole(RoleDTO roleDTO);
    
    /**
     * 更新角色
     */
    boolean updateRole(RoleDTO roleDTO);
    
    /**
     * 删除角色
     */
    boolean deleteRole(Long roleId);
    
    /**
     * 获取角色详情
     */
    RoleDTO getRoleInfo(Long roleId);
    
    /**
     * 获取用户角色列表
     */
    List<SysRole> getRolesByUserId(Long userId);
    
    /**
     * 获取用户角色标识列表
     */
    List<String> getRoleKeysByUserId(Long userId);
    
    /**
     * 分配角色菜单权限
     */
    boolean assignRoleMenu(Long roleId, List<Long> menuIds);
    
    /**
     * 获取角色菜单ID列表
     */
    List<Long> getRoleMenuIds(Long roleId);
} 
